package com.jia.springcloud.controller;

import com.jia.springcloud.pojo.Dept;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

/**
 * @author 1038940655
 * @create 2021/1/13 19:33
 */
@RestController
public class DeptConsumerController {
//    理解：消费者直接取用就好了，不需要service层，service层在另一台服务器上面（模拟拆分成两个服务器）
//    RestTemplate 供我们直接调用就可以了，注册到spring中
    @Autowired
    private RestTemplate restTemplate;//提供多种便捷访问远程http服务的方法，简单的RestFul服务模板

//    Eureka是基于RestFul
//    RPC是基于远程服务调用


//    自定义一个常量
//    这里使用http来连接访问的
  //  private static final String REST_URL_PREFIX = "http://localhost:8001/";//真实的情况是应该去注册中心去拿，现这样直接拿是层层递进的关系

//    现在是去连接服务名去访问
    private static final String REST_URL_PREFIX = "http://SPRINGCLOUD-PROVIDER-DEPT";

    @RequestMapping("/consumer/dept/queryDeptById/{deptno}")
    public Dept queryDeptById(@PathVariable("deptno") Integer deptno){
        return restTemplate.getForObject(REST_URL_PREFIX+"/dept/queryDeptById/"+deptno,Dept.class);

    }

}
